﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;

namespace Wheeler.Web.ViewModels
{
    [Serializable]
	public class TestResultViewModel : BaseViewModel
	{	
        /// <summary>
		/// Gets or sets the ID
		/// </summary>
        public int ID { get; set;}

        [Required(ErrorMessage= "Please Select a Vehicle")] 
        [Display(Name = "Vehicle")] 
        public int VehicleID { get; set;}

        [Required(ErrorMessage= "Please Select a ZGL")] 
        [Display(Name = "Z G L")] 
        public int ZGLID { get; set;}
            
        [StringLength(65535, ErrorMessage = "The {0} can be maximum {1} characters long.")]
        [Display(Name = "Dynamic Properties")] 
		public String DynamicProperties	{ get; set; }
            
        [Required(ErrorMessage= "Please Enter a Has Confirmed")]
        [Display(Name = "Has Confirmed")] 
		public bool HasConfirmed	{ get; set; }
            
        //[Required(ErrorMessage= "Please Enter a Test Status")]
        //[Display(Name = "Test Status")] 
		public Wheeler.Domain.DbObject.TestStatus TestStatus	{ get; set; }
            
        [Required(ErrorMessage= "Please Enter a Has Published")]
        [Display(Name = "Has Published")] 
		public bool HasPublished	{ get; set; }


        [Required(ErrorMessage = "Please Enter Date of Inspection")]
        [Display(Name = "Date of Inspection")] 
		public String TestPerformedOn	{ get; set; }

            
        //[Required(ErrorMessage= "Please Enter a Created On")]
        //[Display(Name = "Created On")] 
		public String CreatedOn	{ get; set; }
            
        //[Required(ErrorMessage= "Please Enter a Modified On")]
        //[Display(Name = "Modified On")] 
		public String ModifiedOn	{ get; set; }
            
        //[Required(ErrorMessage= "Please Enter a Modified By")]
        //[Display(Name = "Modified By")] 
		public int ModifiedBy	{ get; set; }

        public int CreatedBy { get; set; }

        [Required(ErrorMessage = "Please Enter a Inspection Serial No.")]
        [StringLength(11, ErrorMessage = "The {0} can be maximum {1} characters long.")]
        [Display(Name = "Inspection Serial No.")] 
        public String SerialNumber { get; set; }

        public int TestRound { get; set; }

        public VehicleViewModel Vehicle { get; set; }

        public ZGLViewModel ZGL { get; set; }

        public Wheeler.Web.ViewModels.ZGL.Category.Category CategoryZGL { get; set; }
	}

    public class GenericViewModel
    {
        public int? ID { get; set; }
        public String Name { get; set; }
    }
}

